/**
 * 文  件  名：  IBlogDao.java
 * 工  程  名：  7You
 * 创建日期：  2013-10-13
 * 创建作者：  杨  强
 */
package com.qiyou.dao;

import java.sql.SQLException;
import java.util.List;

import com.qiyou.entity.Blog;

/**
 * 博客数据操作接口
 * 
 * @author 杨 强
 * 
 */
public interface IBlogDao {
    /**
     * 新增一篇博客
     * 
     * @param blog
     *            博客信息
     * @return true成功，false失败
     * @throws SQLException
     *             数据库异常
     */
    public boolean doCreate(Blog blog) throws SQLException;

    /**
     * 更新博客信息
     * 
     * @param blog
     *            博客信息
     * @return true成功，false失败
     * @throws SQLException
     *             数据库异常
     */
    public boolean doUpdate(Blog blog) throws SQLException;

    /**
     * 删除一篇博客
     * 
     * @param blogID
     *            博客ID
     * @return true成功，false失败
     * @throws SQLException
     *             数据库异常
     */
    public boolean doDelete(long blogID) throws SQLException;

    /**
     * 根据博客ID获取博客信息
     * 
     * @param blogID
     *            博客ID
     * @return 博客信息
     * @throws SQLException
     *             数据库异常
     */
    public Blog getBlog(long blogID) throws SQLException;

    /**
     * 获取指定用户的博客信息
     * 
     * @param userID
     *            用户ID
     * @return 博客信息集合
     * @throws SQLException
     *             数据库异常
     */
    public List<Blog> getBlogs(String userID) throws SQLException;

    /**
     * 根据指定条件获取博客信息
     * 
     * @param params
     *            查询条件，可为空
     *            <p>
     *            示例：
     *            <ol>
     *            <li>new
     *            String[]{"where `blogDate` > DATE('2003-12-31 01:02:03')"}<br>
     *            将查询在'2003-12-31 01:02:03'之后的博客信息</li>
     *            </ol>
     *            </p>
     * @return 博客信息集合
     * @throws SQLException
     *             数据库异常
     */
    public List<Blog> getBlogs(Object... params) throws SQLException;
}
